package com.spoto.oa.dao;

import java.sql.SQLException;
import java.util.List;

import com.spoto.oa.model.Notice;

/**
 * 
 * @Project: OA
 * @Description:公告notice的DAO 
 * @Author: LinYiSong
 * @Vesion: 
 * @Date: 2010-10-16~2010-10-16
 */
public interface NoticeDAO {

	/**
	 * 保存Notice
	 * @param notice
	 * @throws SQLException 
	 */
	public void save(Notice notice) throws SQLException;

	/**
	 * 取得所有公告
	 * @return
	 */
	public List<Notice> getAllNotices();

	/**
	 * 根据id删除公告
	 * @param id
	 * @throws SQLException 
	 */
	public void deleteById(int id) throws SQLException;
	/**
	 * 根据id取得对应的公告
	 * @throws SQLException 
	 */
	public Notice getById(int id) throws SQLException;

	/**
	 * 更新
	 * @param notice
	 * @throws SQLException 
	 */
	public void update(Notice notice);

	/**
	 * 取得某种公告类型的所有公告信息
	 * @param searchType
	 * @return
	 */
	public List<Notice> getAllByType(String searchType);

	/**
	 * 取得某种公告类型的所有公告信息
	 * @param type
	 * @param title
	 * @return
	 */
	public List<Notice> getAllByTypeAndTitle(String type, String title);
}
